#include "inicializacao.h"
#include "classes.h"
#define FLOR 5

void GeraArvore(vector <VACA> vacas, vector <ARVORE> &arvores, vector<CIDADAO> aldeoes, ONIBUS townCenter, vector <BARRACK> barracas, vector <GUERREIRO> guerreiro)
{
    int n = 12*((rand()%10)+3);
    for(int a = 0; a < n; a++)
    {
        int q = (rand()%(LIMITEMAXX-LIMITEMINX)-LIMITEMAXX)-FLOR;
        int w = (rand()%(LIMITEMAXY-LIMITEMINY)-LIMITEMAXY)-FLOR;
        bool subindo = true;
        if( verificaSeHaAlgumaCoisa(q, w, vacas, arvores, aldeoes, townCenter, barracas, guerreiro) == false)
        {
            int progressao = 0;
            for(int b = -FLOR; b < FLOR; b++)
            {
                subindo = true;
                progressao = 0;
                for(int c = -FLOR; c < FLOR + progressao; c++)
                {
                    int tempX;
                    int tempY;
                    if (subindo)
                    {
                        progressao++;
                        tempY = w+c;
                        tempX = q+b;
                        if (progressao >= FLOR)
                        {
                            subindo = false;
                        }
                    }
                    else
                    {
                        tempY = w-c;
                        tempX = q-b;
                        --progressao;
                    }
                    criaObjeto(tempX, tempY, nArvore, vacas ,arvores, aldeoes, townCenter, barracas, guerreiro);
                }
            }
        }
    }
    return;
}

void GeraVacas(vector <VACA> &vacas, vector <ARVORE> arvores, vector<CIDADAO> aldeoes, ONIBUS townCenter, vector <BARRACK> barracas, vector <GUERREIRO> guerreiro)
{
    int n = 40*((rand()%10)+30);
    for(int a = 0; a < n; a++)
    {
        int q = (rand()%(LIMITEMAXX-LIMITEMINX)-LIMITEMAXX);
        int w = (rand()%(LIMITEMAXY-LIMITEMINY)-LIMITEMAXY);
        if (criaObjeto(q, w, nVaca, vacas,arvores,aldeoes, townCenter, barracas, guerreiro) == 0)
        if (criaObjeto(q, w, nVaca, vacas,arvores,aldeoes, townCenter, barracas, guerreiro) == 0)
        {
            a--;
        }
    }
}
